@startuml
actor User
participant "MainWindow" as MW
participant "accountDataDialog" as ADD
participant "SecureDataMapItem" as SDMI
participant "clipboardWatcher" as CW

User -> MW: Выбирает учетную запись в таблице
MW -> SDMI: getDataViaLoginAndServiceName(loginName, serviceName)
create ADD
MW -> ADD: создание окна
activate ADD

ADD -> SDMI: getDecryptedData(SERVICE_NAME)
SDMI --> ADD: название сервиса
ADD -> SDMI: getDecryptedData(LOGIN)
SDMI --> ADD: логин пользователя
ADD -> SDMI: getEncryptedData(PASSWORD)
SDMI --> ADD: зашифрованный пароль
ADD -> SDMI: getDecryptedData(NOTES)
SDMI --> ADD: расшифрованная заметка
ADD -> ADD: Отображение окна\nс данными учетной записи

User -> ADD: Клик по полю содержащему пароль
ADD -> SDMI: getDecryptedData(PASSWORD)
SDMI --> ADD: расшифрованный пароль
ADD -> CW: setClipboardData(decryptedPassword)
CW -> CW: передает данные в буфер обмена\n
CW -> User: Передает пароль в буфер обмена
ADD -> ADD: Вывод сообщения "Пароль скопирован\n в буфер обмена"

deactivate ADD

@enduml